Skip to content

Conversation

@stefanhaller
Copy link
Collaborator

Allow configuring an array of pagers, and cycling through them with the | key (mnemonic: we are piping the output through something). I find this useful for switching between delta (which I prefer most of the time) and difftastic (which occasionally produces better output for certain kinds of changes). It could also be used to switch between delta in inline mode and in side-by-side mode.

@stefanhaller stefanhaller added the enhancement New feature or request label Oct 10, 2025
@codacy-production
Copy link

codacy-production bot commented Oct 10, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
Report missing for 1c877761 77.62%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (1c87776) Report Missing Report Missing Report Missing
Head commit (32bf6d6) 58405 50787 86.96%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#4953) 143 111 77.62%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Footnotes

  1. Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

This could have been removed in commit 9657b43.
This is an object that is owned by Gui, is accessible through GuiCommon.State(),
and also passed down to GitCommand, where it is mostly needed. Right now it
simply wraps access to the Git.Paging config, which isn't very exciting, but
we'll extend it in the next commit to handle a slice of pagers (and maintain the
currently selected pager index), and doing this refactoring up front allows us
to make that change without having to touch clients.
@stefanhaller stefanhaller merged commit 5812466 into master Oct 14, 2025
12 checks passed
@stefanhaller stefanhaller deleted the multiple-pagers branch October 14, 2025 10:19
yeskunall added a commit to yeskunall/dotfiles that referenced this pull request Oct 16, 2025
@ilan-schemoul
Copy link

FYI it took me like 30mn to figure out why pagers: as documented in the doc didn't work. It was because it's not released yet.
I wish there would be a big banner saying "NOT RELEASE YET" and when you actually release a new version you delete all the NOT RELEASE YET or implement a similar idea

@brandondong
Copy link
Contributor

FYI it took me like 30mn to figure out why pagers: as documented in the doc didn't work. It was because it's not released yet. I wish there would be a big banner saying "NOT RELEASE YET" and when you actually release a new version you delete all the NOT RELEASE YET or implement a similar idea

I ran into this issue as well (and was confused for much longer :D). FYI in case it wasn't clear, pagers are supported (a single one), just needs to be added like https://github.com/jesseduffield/lazygit/blob/40e989467ffcb32e546eebca25b57972b6aac6b5/docs/Custom_Pagers.md. When the next version is released, your config will be automatically migrated into the pagers array.

I think a solution would be for the README links to point to the latest released commit's version of docs instead of master.

@stefanhaller
Copy link
Collaborator Author

The links from lazygit's status page already point to the docs of the current version you are running.

But yes, for next time we'll have to think about adding "not released yet" markers, and removing them right before release. Quite a few people ran into this, and it also came up for other config changes in the past.

@ilan-schemoul
Copy link

IMO, it should be the exact same warning (e.g.: not released yet) so you can add the script for release (if you have one, otherwise in the instructions for the release) a sed command to remove the warning.
It should be easy to set up and collectively save hundreds of hours

@stefanhaller
Copy link
Collaborator Author

@ilan-schemoul I think an even better approach is to not change the docs and the JSON schema at all for the lifetime of a release, and make those continuous changes to a copy instead; then, update the real docs from that copy right before making the next release.

I made a PR that does this (#5010), and I'd appreciate reviews to see if there are any gaps in that approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants